package robots.models;

import java.io.Serializable;

import robots.domain.CampoDeBatalla;
import robots.domain.Jugador;
import robots.domain.Resultado;
import robots.domain.Robot;
import robots.excepcions.DineroEnNullException;
import robots.excepcions.DineroInsuficienteException;
import robots.excepcions.RobotEnNullException;

@SuppressWarnings("serial")
public class CompetirAppModel implements Serializable{
	

	private Jugador jugador;
	private Robot robotJugador;
	
	private Jugador sistema;
	private Robot robotSistema;
	
	private Integer apuesta;
	private Resultado resultado;
	
	public CompetirAppModel(Jugador jugador, Jugador sistema){
		this.jugador= jugador;
		this.sistema= sistema;
		
//		this.robotJugador= this.jugador.getRobots().get(0);
//		this.robotSistema= this.sistema.getRobots().get(0);
	}

	public Jugador getJugador() {
		return jugador;
	}

	public void setJugador(Jugador jugador) {
		this.jugador = jugador;
	}

	public Jugador getSistema() {
		return sistema;
	}

	public void setSistema(Jugador sistema) {
		this.sistema = sistema;
	}

	public Robot getRobotJugador() {
		return robotJugador;
	}

	public void setRobotJugador(Robot robotJugador) {
		this.robotJugador = robotJugador;
	}

	public Robot getRobotSistema() {
		return robotSistema;
	}

	public void setRobotSistema(Robot robotSistema) {
		this.robotSistema = robotSistema;
	}

	public Integer getApuesta() {
		return apuesta;
	}

	public void setApuesta(Integer apuesta) {
		this.apuesta = apuesta;
	}

	private CampoDeBatalla getCampoDeBatalla(){
		return new CampoDeBatalla();
	}

	public Resultado getResultado() {
		return resultado;
	}

	public void setResultado(Resultado resultado) {
		this.resultado = resultado;
	}

	public void competir() throws DineroInsuficienteException, RobotEnNullException, DineroEnNullException {
		this.setResultado(this.getCampoDeBatalla().competir(this.getRobotJugador(), this.getRobotSistema(), this.getApuesta()));
	}
	
	
}
